import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

# 1. 创建一个全黑的图像
img = np.zeros((256, 256, 3), np.uint8)

# 获取位置100，100位置的颜色的值
print(img[100, 100])

# 获取位置100，100位置蓝色通道的值
print(img[100, 100, 0])

# 修改100，100位置的颜色为红色
img[100, 100] = (0, 0, 255)
plt.imshow(img[:, :, ::-1])
plt.show()
print(img[100, 100])
print(img[100, 100, 2])

# 图像形状(256, 256, 3)
print(img.shape)
# 图像的大小196608
print(img.size)
# 图像的数据类型uint8
print(img.dtype)

# 读取图片
sky1 = cv.imread("image/1.jpg")

# 拆分通道
b, g, r = cv.split(sky1)
# 以灰度图的方式显示b通道的图像
plt.imshow(b, cmap=plt.cm.gray)
plt.show()

# 通道合并
sky2 = cv.merge((b, g, r))
plt.imshow(sky2[:, :, ::-1])
plt.show()

# 色彩空间转换
# 将彩色图转换成灰度图
gray = cv.cvtColor(sky1, cv.COLOR_BGR2GRAY)
plt.imshow(gray, cmap=plt.cm.gray)
plt.show()
# 将彩色图转换成HSV格式
hsv = cv.cvtColor(sky1, cv.COLOR_BGR2HSV)
plt.imshow(hsv)
plt.show()